#define BOOST_TEST_MODULE basic_queue test
#include <boost/test/unit_test.hpp>

#include "basic_queue.hpp"
//#include <cassert>

BOOST_AUTO_TEST_CASE(basic_queue_test)
{
    core::basic_queue<int>  q,r;
    q.push(9);
    BOOST_REQUIRE(q.size() == 1 && q.capacity() >= 1 && !q.empty() && q.front() == 9 && q[0] == 9);
    q.pop();
    BOOST_REQUIRE(q.size() == 0);
    q.push(12);
    q.push(27);
    using std::swap;
    swap(r,q);
    BOOST_REQUIRE_EQUAL(r.size(), 2);
    BOOST_REQUIRE_EQUAL(r[0],12);
}


/*int main()
{

}*/